#include <vector>
#include <stdfix.h>
#include <iostream>
using namespace std;
template<typename T> //整數或浮點數皆可使用，若要使用物件（class）時必須設定大於（>）的運算子功能
void selection_sort(std::vector<T>& arr) {
    for (int i = 0; i < arr.size() - 1; i++) {
        int min = i;
        for (int j = i + 1; j < arr.size(); j++)
            if (arr[j] < arr[min])
                    min = j;
        std::swap(arr[i], arr[min]);
    }
}
int main() {
    cout <<"ddddddddddddd";
    vector<int> arr= { 61, 17, 29, 22, 34, 60, 72, 21, 50, 1, 62 }; 
    selection_sort(arr);
    auto it = arr.begin();  // 返回一个迭代器类型，一般来说我们并不关心迭代器具体的数据类型
    while(it != arr.end())
    {
        cout << *it << " ";
        it++;
    }
 
    cout << endl;
    vector<float> arrf= { 17.5, 19.1, 0.6, 1.9, 10.5, 12.4, 3.8, 19.7, 1.5, 25.4, 28.6, 4.4, 23.8, 5.4 }; 
    selection_sort(arrf);
    auto itf = arrf.begin();  // 返回一个迭代器类型，一般来说我们并不关心迭代器具体的数据类型
    while(itf != arrf.end())
    {
        cout << *itf << " ";
        itf++;
    }
    return 0;
}